home *** CD-ROM | disk | FTP | other *** search
- /****************************************************************************/
- /* START.H */
- /* */
- /* This header has the necessary references for taking over the keyboard, */
- /* so that CTRL-C and CTRL-BREAK do not kick you out of the program! This */
- /* unfortunately is rather messy when every compiler wants the prototypes */
- /* and such in different syntax, but here it is. */
- /****************************************************************************/
-
- /*------------------- interrupt globals and prototypes ---------------------*/
- #ifdef __WATCOMC__
- void (interrupt far *(old_vect23))(void);
- void (interrupt far *(old_vect1b))(void);
- void interrupt far en_ctrl_brk() {}
- void interrupt far en_ctrl_c() {}
- #else
- #ifdef __ZTC__
- int (EN_FAR *(old_vect23))();
- int (EN_FAR *(old_vect1b))();
- int EN_FAR en_ctrl_brk() {return(1);}
- int EN_FAR en_ctrl_c() {return(1);}
- void interrupt EN_FAR *getvect( int vect_no )
- {
- uint seg, off;
- int_getvector(vect_no, &off, &seg);
- return(EN_MK_FP(seg,off));
- }
- void setvect( int vect_no, void interrupt EN_FAR *fp )
- {
- int_setvector(vect_no, EN_FP_OFF(fp), EN_FP_SEG(fp));
- }
- #else
- #ifdef M_I86
- void (interrupt EN_FAR *(old_vect23))();
- void (interrupt EN_FAR *(old_vect1b))();
- void interrupt EN_FAR en_ctrl_brk() {}
- void interrupt EN_FAR en_ctrl_c() {}
- #else
- #if defined(__cplusplus) || defined(__POWERC)
- void interrupt EN_FAR (*old_vect23)(...);
- void interrupt EN_FAR (*old_vect1b)(...);
- void interrupt EN_FAR en_ctrl_brk(...) {}
- void interrupt EN_FAR en_ctrl_c(...) {}
- #else
- void (interrupt EN_FAR *(old_vect23))(void);
- void (interrupt EN_FAR *(old_vect1b))(void);
- void interrupt EN_FAR en_ctrl_brk() {}
- void interrupt EN_FAR en_ctrl_c() {}
- #endif
- #endif
- #endif
- #endif